DML (Data Manipulation Language) হলো Salesforce Apex ভাষায় ডেটা সংশোধন বা প্রক্রিয়াকরণের জন্য ব্যবহৃত একটি ভাষা, যা Salesforce ডেটাবেজে রেকর্ড তৈরি, আপডেট, ডিলিট, বা পুনরুদ্ধার করতে ব্যবহৃত হয়। DML অপারেশনগুলো ডেটাবেজের উপর ডিরেক্ট অ্যাক্সেস দিয়ে ডেটা পরিবর্তন এবং প্রক্রিয়াকরণে সহায়ক।
DML অপারেশন Apex কোডের মধ্যে ব্যবহার করে Salesforce এর ডেটা মডেলকে সম্পূর্ণরূপে নিয়ন্ত্রণ করা যায়। DML এর মাধ্যমে অ্যাপ্লিকেশন ডেটাবেজে নির্দিষ্ট ডেটা তৈরি বা পরিবর্তন করতে পারে, যা ব্যবহারকারীদের কার্যক্রম এবং ব্যবসায়িক নিয়ম অনুসারে তথ্য আপডেট করতে সহায়ক।
DML এর প্রধান অপারেশনসমূহ
DML-এর প্রধান অপারেশনগুলো হলো:
- Insert: নতুন রেকর্ড ডেটাবেজে যোগ করে।
- Update: ডেটাবেজে থাকা বিদ্যমান রেকর্ড আপডেট করে।
- Delete: ডেটাবেজ থেকে রেকর্ড মুছে ফেলে।
- Undelete: মুছে ফেলা রেকর্ড পুনরুদ্ধার করে (যা Recycle Bin-এ থাকে)।
- Upsert: রেকর্ডের উপর নির্ভর করে insert বা update করে। যদি রেকর্ড বিদ্যমান থাকে তবে আপডেট করে, অন্যথায় নতুন রেকর্ড যোগ করে।
- Merge: একাধিক রেকর্ডকে একত্রিত করে একটি রেকর্ডে পরিণত করে (বিশেষত ডুপ্লিকেট রেকর্ডগুলো একত্রিত করার জন্য)।
DML এর সাধারণ উদাহরণ
১. Insert অপারেশন
Insert অপারেশনের মাধ্যমে নতুন রেকর্ড তৈরি করে ডেটাবেজে যোগ করা হয়।
Account newAccount = new Account(Name = 'Tech Solutions', Industry = 'Technology');
insert newAccount;
- এখানে
Accountঅবজেক্টে একটি নতুন রেকর্ড তৈরি করেinsertকিওয়ার্ড দিয়ে সেটি ডেটাবেজে যোগ করা হয়েছে।
২. Update অপারেশন
Update অপারেশনের মাধ্যমে বিদ্যমান রেকর্ড আপডেট করা হয়।
Account existingAccount = [SELECT Id, Name FROM Account WHERE Name = 'Tech Solutions' LIMIT 1];
existingAccount.Industry = 'Software';
update existingAccount;
- এখানে একটি বিদ্যমান
Accountরেকর্ডেরIndustryফিল্ড আপডেট করা হয়েছে এবংupdateঅপারেশন ব্যবহার করে সেটি ডেটাবেজে সেভ করা হয়েছে।
৩. Delete অপারেশন
Delete অপারেশনের মাধ্যমে বিদ্যমান রেকর্ড ডেটাবেজ থেকে মুছে ফেলা হয়।
Account deleteAccount = [SELECT Id FROM Account WHERE Name = 'Tech Solutions' LIMIT 1];
delete deleteAccount;
- এখানে একটি
Accountরেকর্ডdeleteঅপারেশন ব্যবহার করে ডেটাবেজ থেকে মুছে ফেলা হয়েছে।
৪. Undelete অপারেশন
Undelete অপারেশন ব্যবহার করে Recycle Bin-এ থাকা রেকর্ড পুনরুদ্ধার করা যায়।
Account restoreAccount = [SELECT Id FROM Account WHERE Name = 'Tech Solutions' LIMIT 1 ALL ROWS];
undelete restoreAccount;
- এখানে পূর্বে ডিলিট করা
Accountরেকর্ডকেundeleteঅপারেশনের মাধ্যমে পুনরুদ্ধার করা হয়েছে।
৫. Upsert অপারেশন
Upsert অপারেশন ব্যবহার করে রেকর্ড আপডেট বা যোগ করা যায়।
Account accountRecord = new Account(Name = 'Tech Solutions', Industry = 'Technology');
upsert accountRecord Name;
- এখানে যদি
NameমানেরAccountরেকর্ড ডেটাবেজে বিদ্যমান থাকে তবে সেটি আপডেট হবে, অন্যথায় একটি নতুন রেকর্ড যোগ হবে।
৬. Merge অপারেশন
Merge অপারেশন দিয়ে একাধিক রেকর্ডকে একত্রিত করা যায়, বিশেষত ডুপ্লিকেট রেকর্ডের ক্ষেত্রে।
Account masterRecord = [SELECT Id FROM Account WHERE Name = 'Tech Solutions' LIMIT 1];
Account duplicateRecord1 = [SELECT Id FROM Account WHERE Name = 'Tech Solutions Duplicate 1' LIMIT 1];
Account duplicateRecord2 = [SELECT Id FROM Account WHERE Name = 'Tech Solutions Duplicate 2' LIMIT 1];
merge masterRecord duplicateRecord1 duplicateRecord2;
- এখানে
Tech Solutionsনামে প্রধানAccountরেকর্ডে দুইটি ডুপ্লিকেট রেকর্ড মার্জ করা হয়েছে।
DML অপারেশনের সুবিধা
- ডেটা ম্যানিপুলেশন সহজ: ডেটাবেজের উপর সরাসরি অপারেশন চালাতে DML দ্রুত এবং সহজ উপায়।
- ব্যবসায়িক নিয়ম প্রয়োগ: বিভিন্ন ব্যবসায়িক নিয়ম অনুযায়ী ডেটাবেজে ডেটা আপডেট এবং পরিবর্তন করা সহজ হয়।
- ডুপ্লিকেট অপসারণ:
Mergeঅপারেশন ব্যবহার করে ডুপ্লিকেট রেকর্ডগুলো একত্রিত করে ডেটার মান নিয়ন্ত্রণ করা যায়। - সহজ কোডিং: DML অপারেশনগুলো সরাসরি Apex কোডে ব্যবহৃত হয়, তাই ডেটা ম্যানিপুলেশন সহজ।
DML এবং SOQL এর পার্থক্য
| বৈশিষ্ট্য | DML | SOQL |
|---|---|---|
| মূল উদ্দেশ্য | ডেটা সংশোধন এবং ম্যানিপুলেশন | ডেটা অনুসন্ধান এবং পুনরুদ্ধার |
| অপারেশন | Insert, Update, Delete, Upsert, Merge, Undelete | SELECT |
| ডেটা পরিবর্তন | ডেটা তৈরি, আপডেট, ডিলিট করতে ব্যবহৃত | ডেটা খুঁজে বের করতে ব্যবহৃত |
| ব্যবহার ক্ষেত্র | ডেটাবেজে নতুন ডেটা যোগ করা বা পরিবর্তন | ডেটাবেজ থেকে ডেটা সংগ্রহ করা |
DML ব্যবহারের সতর্কতাসমূহ
- গভর্নর লিমিট: Salesforce-এর গভর্নর লিমিট রয়েছে, যা DML অপারেশনের সংখ্যা সীমাবদ্ধ করে। এক্সিকিউশন কনটেক্সটে সর্বাধিক ১৫০টি DML অপারেশন চালানো যায়।
- DML Exception Handling: DML অপারেশন চলাকালীন ত্রুটি ঘটলে
DmlExceptionতৈরি হয়।try-catchব্লক ব্যবহার করে DML অপারেশনের ত্রুটি হ্যান্ডল করা উচিত। - Bulk DML Operations: যখন একাধিক রেকর্ডে DML অপারেশন চালানো হয়, তখন Bulk DML অপারেশন ব্যবহার করা উচিত, যা গভর্নর লিমিটের মধ্যে কাজ করে এবং পারফরম্যান্স বাড়ায়।
সংক্ষেপে
DML অপারেশন Salesforce-এর ডেটাবেজে ডেটা সংশোধন এবং ম্যানিপুলেশনের একটি গুরুত্বপূর্ণ টুল, যা Apex কোডে ডেটা প্রক্রিয়াকরণকে সহজ করে তোলে। Insert, Update, Delete, Undelete, Upsert, এবং Merge অপারেশনগুলো ডেটা সংশোধন, ডুপ্লিকেট অপসারণ, এবং ডেটা পুনরুদ্ধারে কার্যকরভাবে ব্যবহৃত হয়। DML অপারেশনগুলোর মাধ্যমে Salesforce ডেটাবেজের ডেটা সহজে এবং দ্রুত ম্যানেজ করা সম্ভব।
Read more